package com.genius.service;

import com.genius.system.dto.NoticeUserDTO;
import com.genius.system.pojo.NoticeUser;

import java.util.List;

public interface NoticeUserService {

    /**
     * 查询消息用户关联数据
     * @param noticeUser 查询条件
     * @return 消息用户关联数据
     */
    List<NoticeUserDTO> selectNoticeUserByPage(NoticeUser noticeUser);

    /**
     * 根据用户ID查询用户未读消息数量
     * @param userId 用户ID
     */
    int selectNoticeCountByUserId(Long userId);

    /**
     * 消息用户关联
     * @param noticeId 消息ID
     * @param userIds 用户ID
     */
    int insertNoticeUser(Long noticeId, Long[] userIds);

    /**
     * 消息用户撤回
     * @param ids 消息用户ID
     * @return 修改行数
     */
    int revokeNoticeUserByIds(Long[] ids);

    /**
     * 已阅消息
     * @param ids 消息用户ID
     * @return 修改行数
     */
    int readNoticeUserByIds(Long[] ids);

    /**
     * 删除消息用户
     * @param ids 消息用户ID
     * @return 删除行数
     */
    int deleteNoticeUserByIds(Long[] ids);
}
